package com.acsior.hibernate.vo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.acsior.dac.impl.hibernate.vo.GeneratorKey;
import com.acsior.dac.impl.hibernate.vo.HibernatePersistantIntegerIdVO;

/**
 * UtilityBill entity. @author MyEclipse Persistence Tools <b><i>powered by
 * Belev</i></b>
 */
@Entity
@Table(name = "utility_bills")
@GeneratorKey(tableName = "utility_bills")
public class UtilityBillVO extends HibernatePersistantIntegerIdVO {

	private static final long serialVersionUID = 2304030191940532670L;

	@Column(name = "additional_info")
	private String additionalInfo;

	@Column(name = "bill_number", nullable = false, length = 50)
	private String billNumber;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "postal_service_id", nullable = false)
	private PostalServiceVO postalService;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "registered_customers_id", nullable = false)
	private RegisteredCustomerVO registeredCustomer;

	/** default constructor */
	public UtilityBillVO() {
		super();
	}

	/** @return the additionalInfo */
	public String getAdditionalInfo() {
		return this.additionalInfo;
	}

	/** @return the billNumber */
	public String getBillNumber() {
		return this.billNumber;
	}

	/** @return the postalService */
	public PostalServiceVO getPostalService() {
		return this.postalService;
	}

	/** @return the registeredCustomer */
	public RegisteredCustomerVO getRegisteredCustomer() {
		return this.registeredCustomer;
	}

	/**
	 * @param additionalInfo
	 *            the additionalInfo to set
	 */
	public void setAdditionalInfo(String additionalInfo) {
		this.additionalInfo = additionalInfo;
	}

	/**
	 * @param billNumber
	 *            the billNumber to set
	 */
	public void setBillNumber(String billNumber) {
		this.billNumber = billNumber;
	}

	/**
	 * @param postalService
	 *            the postalService to set
	 */
	public void setPostalService(PostalServiceVO postalService) {
		this.postalService = postalService;
	}

	/**
	 * @param registeredCustomer
	 *            the registeredCustomer to set
	 */
	public void setRegisteredCustomer(RegisteredCustomerVO registeredCustomer) {
		this.registeredCustomer = registeredCustomer;
	}
}